//
//  KZNetApi.swift
//  KZSwiftMoudel
//
//  Created by 朱凯 on 2018/5/9.
//  Copyright © 2018年 JooKey. All rights reserved.
//

import Foundation
import UIKit
import Alamofire

let client_id = "by565fa4e56a9241"
let client_secret = "c37725a62af42ea0569d79b1942935be"

enum KZNetApi: URLConvertible {
    
    // 被期望返回的数据类型
    enum ExpectedDataType {
        case dictionary
        case array
        case string
    }
    
    // 枚举值
    case login
    case register
    case indexBanner

    
    /// 请求类型，根据枚举值填写，每个api都不一样
    var apiType: String {
        switch self {
        case .indexBanner:
            return "BY_File_banner"
        default:
            return ""
        }
    }
    
    /// 期望返回的数据类型，默认是字典，如果有特殊的返回则根据需要返回
    var apiExpectedDataType: ExpectedDataType {
       
        switch self {
        case .indexBanner:
            return .array
        default:
            return .dictionary
        }
    }
    
    /// api的版本，一般为100，如果某个api版本号增加，则在这里case写一下
    var apiVersion: Int {
        switch self {
        default:
            return 100
        }
    }
    
    // 网络请求的地址
    func asURL() throws -> URL {
        return try "\(kBaseURL)?from=ios&client_id=\(client_id)".asURL()
    }
}
